import * as imageConversion from 'image-conversion'

// 创建一个 Promise 对象：

export default function uploadFiles(param) {
	return new Promise(function(resolve, reject) {
		let arr = []

		// 上传 1 ~ 多张图片文件
		param.files.forEach((file, index) => {

			// 压缩上传开始
			// 	// 压缩到100KB,这里的100就是要压缩的大小,可自定义
			// 	imageConversion.compressAccurately(file, 10).then(res => {
			// 		let files = new window.File([res], res.name, {
			// 			type: res.type
			// 		})

			// 		const uploadTask = uni.uploadFile({
			// 			url: param.url,
			// 			filePath: files,
			// 			name: 'file',
			// 			header: {
			// 				'Authorization': 'Bearer ' + param.token,
			// 			},
			// 			success: (res) => {
			// 				const data = JSON.parse(res.data)
			// 				if (data.status >= 200 && data.status < 300) {
			// 					arr.push(data.filePath)
			// 					if (arr.length === param.files.length) {
			// 						resolve(arr)
			// 					}
			// 				}
			// 			}
			// 		})

			// 		uploadTask.onProgressUpdate((res) => {
			// 			uni.showLoading({
			// 				title: '上传第' + (index + 1) + '进度' + res.progress + '%',
			// 				icon: "none",
			// 			})
			// 			// 测试条件，取消上传任务。
			// 			if (res.progress === 100) {
			// 				console.log(index)
			// 			}
			// 		});
			// 	}).catch(error => {});
			// 压缩上传结束

			// 普通上传图片开始
			const uploadTask = uni.uploadFile({
				url: param.url,
				filePath: file,
				name: 'file',
				header: {
					'Authorization': 'Bearer ' + param.token,
				},
				success: (res) => {
					const data = JSON.parse(res.data)
					if (data.status >= 200 && data.status < 300) {
						arr.push(data.filePath)
						if (arr.length === param.files.length) {
							resolve(arr)
						}
					}
				}
			})

			uploadTask.onProgressUpdate((res) => {
				uni.showLoading({
					title: '上传第' + (index + 1) + '进度' + res.progress + '%',
					icon: "none",
				})
				// 测试条件，取消上传任务。
				if (res.progress === 100) {
					console.log(index)
				}
			})
			// 普通上传图片结束
		});
	})
}